1. Field
This Application relates generally to the field of mobile computing environments, and more particularly to dynamically configuration applications in a computing environment with multiple active user environments.
2. Relevant Background
Mobile communications devices are becoming ubiquitous in today's society. For example, as of the end of 2008, 90 percent of Americans had a mobile wireless device. Among the fastest growing mobile communications devices are smartphones, that is, mobile phones built on top of a mobile computing platform. Mobile providers have launched hundreds of new smartphones in the last three years based upon several different computing platforms (e.g., Apple iPhone, Android, BlackBerry, Palm, Windows Mobile, and the like). In the U.S., smartphone penetration reached almost 23% by the middle of 2010, and over 35% in some age-groups. In Europe, the smartphone market grew by 41% from 2009 to 2010, with over 60 million smartphone subscribers as of July 2010 in the five largest European countries alone.
Smartphone computing platforms typically include a mobile operating system (“OS”) running on a mobile processor. While mobile processors and mobile OSs have increased the capabilities of these devices, smartphones have not tended to replace personal computer (“PC”) environments (i.e., Windows, Mac OS X, Linux, and the like) such as desktop or notebook computers at least because of the limited user experience provided. In particular, smartphones typically have different processing resources, user interface device(s), peripheral devices, and applications. For example, mobile processors may have a different processor architecture than PC processors that emphasizes features like low-power operation and communications capabilities over raw processing and/or graphics performance. In addition, smartphones tend to have smaller amounts of other hardware resources such as memory (e.g., SRAM, DRAM, etc.) and storage (e.g., hard disk, SSD, etc.) resources. Other considerations typically include a smaller display size that limits the amount of information that can be presented through a mobile OS graphical user interface (“GUI”) and different user input devices. Use interface input device(s) for smartphones typically include a small thumb-style QWERTY keyboard, touch-screen display, click-wheel, and/or scroll-wheel. In contrast, laptop, notebook, and desktop computers that use a desktop OS typically have a full-size keyboard, pointing device(s), and/or a larger screen area. As a result, mobile OSs typically have a different architecture where some capabilities and features such as communications, lower power consumption, touch-screen capability, and the like, are emphasized over traditionally emphasized PC capabilities such as processing speed, graphics processing, and application multi-tasking.
Because of the architecture differences, applications or “Apps” designed for mobile OSs tend to be designed for tasks and activities that are typical of a mobile computing experience (e.g., communications, gaming, navigation, and the like). For example, over a third of all Android App downloads have been targeted towards the gaining and entertainment categories while less than 20% of downloads fall under the tools and productivity categories. In addition, many applications that are common on PC platforms are either not available for mobile OSs or are available only with a limited features set.
For example, many smartphones run Google's Android operating system. Android runs only applications that are specifically developed to run within a Java-based virtual machine runtime environment. In addition, while Android is based on a modified Linux kernel, it uses different standard C libraries, system managers, and services than Linux. Accordingly, applications written for Linux do not run on Android without modification or porting. Similarly, Apple's iPhone uses the iOS mobile operating system. Again, while iOS is derived from Mac OS X, applications developed for OS X do not run on iOS. Therefore, while many applications are available for mobile OSs such as Android and iOS, many other common applications for desktop operating systems such as Linux and Mac OS X are either not available on the mobile platforms or have limited functionality. As such, these mobile OSs provide
Accordingly, smartphones are typically suited for a limited set of user experiences and provide applications designed primarily for the mobile environment. In particular, smartphones do not provide a suitable desktop user experience, nor do they run most common desktop applications. For some tasks such as typing or editing documents, the user interface components typically found on a smartphones tend to be more difficult to use than a full-size keyboard and large display that may be typically found on a PC platform.
As a result, many users carry and use multiple computing devices including a smartphone, laptop, and/or tablet computer. In this instance, each device has its own CPU, memory, file storage, and operating system. Connectivity and file sharing between smartphones and other computing devices involves linking one device (e.g., smartphone, running a mobile OS) to a second, wholly disparate device (e.g., notebook, desktop, or tablet miming a desktop OS), through a wireless or wired connection. Information is shared across devices by synchronizing data between applications running separately on each device. This process, typically called “synching,” is cumbersome and generally requires active management by the user.